package cn.bisoft.java.bean.entity;

import java.io.Serializable;



/**
 * This is an object that contains data related to the AnteFrontDrawInfo table.
 * Do not modify this class because it will be overwritten if the configuration file
 * related to this class is modified.
 *
 * @hibernate.class
 *  table="AnteFrontDrawInfo"
 */

public abstract class BaseAnteFrontDrawInfo  implements Serializable {
	private static final long serialVersionUID = 1L;
	public static String REF = "AnteFrontDrawInfo";
	public static String PROP_NOTIFY_STATE = "NotifyState";
	public static String PROP_BRANCH = "Branch";
	public static String PROP_CITY = "City";
	public static String PROP_PROVIDER_ID = "ProviderId";
	public static String PROP_NOTIFY_SUM = "NotifySum";
	public static String PROP_ID_CARD = "IdCard";
	public static String PROP_DRAW_LOG_ID = "DrawLogId";
	public static String PROP_OPERATOR = "Operator";
	public static String PROP_NAME = "Name";
	public static String PROP_BANK_ACCOUNT = "BankAccount";
	public static String PROP_OPERATE_TIME = "OperateTime";
	public static String PROP_USAGE = "Usage";
	public static String PROP_FAILD_CAUSE = "FaildCause";
	public static String PROP_CARD_TYPE = "CardType";
	public static String PROP_PAY_MONEY = "PayMoney";
	public static String PROP_DRAW_ID = "DrawId";
	public static String PROP_DRAW_INFO_ID = "DrawInfoId";
	public static String PROP_BANK_NAME = "BankName";
	public static String PROP_DAY_SEQ = "DaySeq";
	public static String PROP_LOGIN_ID = "LoginId";
	public static String PROP_PAY_FEE = "PayFee";
	public static String PROP_DRAW_STATE = "DrawState";
	public static String PROP_COUNTER_ID = "CounterId";
	public static String PROP_NOTIFY_TIME = "NotifyTime";
	public static String PROP_PROVINCE = "Province";
	public static String PROP_REQUEST_TIME = "RequestTime";


	// constructors
	public BaseAnteFrontDrawInfo () {
		initialize();
	}

	/**
	 * Constructor for primary key
	 */
	public BaseAnteFrontDrawInfo (java.lang.Integer drawInfoId) {
		this.setDrawInfoId(drawInfoId);
		initialize();
	}

	/**
	 * Constructor for required fields
	 */
	public BaseAnteFrontDrawInfo (
		java.lang.Integer drawInfoId,
		java.lang.String counterId,
		java.lang.String drawId,
		java.lang.Integer cardType,
		java.lang.String idCard,
		java.lang.String loginId,
		java.lang.String bankAccount,
		java.lang.String name,
		java.lang.String bankName,
		java.lang.Integer payMoney,
		java.lang.Integer payFee,
		java.util.Date requestTime,
		java.lang.Integer drawState,
		java.lang.Integer notifyState,
		java.lang.Integer notifySum) {

		this.setDrawInfoId(drawInfoId);
		this.setCounterId(counterId);
		this.setDrawId(drawId);
		this.setCardType(cardType);
		this.setIdCard(idCard);
		this.setLoginId(loginId);
		this.setBankAccount(bankAccount);
		this.setName(name);
		this.setBankName(bankName);
		this.setPayMoney(payMoney);
		this.setPayFee(payFee);
		this.setRequestTime(requestTime);
		this.setDrawState(drawState);
		this.setNotifyState(notifyState);
		this.setNotifySum(notifySum);
		initialize();
	}

	protected void initialize () {}



	private int hashCode = Integer.MIN_VALUE;

	// primary key
	private java.lang.Integer drawInfoId;

	// fields
	private java.lang.Integer drawLogId;
	private java.lang.String counterId;
	private java.lang.String drawId;
	private java.lang.Integer cardType;
	private java.lang.String idCard;
	private java.lang.String loginId;
	private java.lang.Integer daySeq;
	private java.lang.String bankAccount;
	private java.lang.String name;
	private java.lang.String bankName;
	private java.lang.String province;
	private java.lang.String city;
	private java.lang.String branch;
	private java.lang.Integer payMoney;
	private java.lang.Integer payFee;
	private java.lang.String usage;
	private java.util.Date requestTime;
	private java.lang.Integer drawState;
	private java.lang.String faildCause;
	private java.lang.Integer notifyState;
	private java.lang.Integer notifySum;
	private java.util.Date notifyTime;
	private java.lang.String operator;
	private java.util.Date operateTime;
	private java.lang.String providerId;



	/**
	 * Return the unique identifier of this class
     * @hibernate.id
     *  generator-class="native"
     *  column="DrawInfoId"
     */
	public java.lang.Integer getDrawInfoId () {
		return drawInfoId;
	}

	/**
	 * Set the unique identifier of this class
	 * @param drawInfoId the new ID
	 */
	public void setDrawInfoId (java.lang.Integer drawInfoId) {
		this.drawInfoId = drawInfoId;
		this.hashCode = Integer.MIN_VALUE;
	}




	/**
	 * Return the value associated with the column: DrawLogId
	 */
	public java.lang.Integer getDrawLogId () {
		return drawLogId;
	}

	/**
	 * Set the value related to the column: DrawLogId
	 * @param drawLogId the DrawLogId value
	 */
	public void setDrawLogId (java.lang.Integer drawLogId) {
		this.drawLogId = drawLogId;
	}



	/**
	 * Return the value associated with the column: CounterId
	 */
	public java.lang.String getCounterId () {
		return counterId;
	}

	/**
	 * Set the value related to the column: CounterId
	 * @param counterId the CounterId value
	 */
	public void setCounterId (java.lang.String counterId) {
		this.counterId = counterId;
	}



	/**
	 * Return the value associated with the column: DrawId
	 */
	public java.lang.String getDrawId () {
		return drawId;
	}

	/**
	 * Set the value related to the column: DrawId
	 * @param drawId the DrawId value
	 */
	public void setDrawId (java.lang.String drawId) {
		this.drawId = drawId;
	}



	/**
	 * Return the value associated with the column: CardType
	 */
	public java.lang.Integer getCardType () {
		return cardType;
	}

	/**
	 * Set the value related to the column: CardType
	 * @param cardType the CardType value
	 */
	public void setCardType (java.lang.Integer cardType) {
		this.cardType = cardType;
	}



	/**
	 * Return the value associated with the column: IdCard
	 */
	public java.lang.String getIdCard () {
		return idCard;
	}

	/**
	 * Set the value related to the column: IdCard
	 * @param idCard the IdCard value
	 */
	public void setIdCard (java.lang.String idCard) {
		this.idCard = idCard;
	}



	/**
	 * Return the value associated with the column: LoginId
	 */
	public java.lang.String getLoginId () {
		return loginId;
	}

	/**
	 * Set the value related to the column: LoginId
	 * @param loginId the LoginId value
	 */
	public void setLoginId (java.lang.String loginId) {
		this.loginId = loginId;
	}



	/**
	 * Return the value associated with the column: DaySeq
	 */
	public java.lang.Integer getDaySeq () {
		return daySeq;
	}

	/**
	 * Set the value related to the column: DaySeq
	 * @param daySeq the DaySeq value
	 */
	public void setDaySeq (java.lang.Integer daySeq) {
		this.daySeq = daySeq;
	}



	/**
	 * Return the value associated with the column: BankAccount
	 */
	public java.lang.String getBankAccount () {
		return bankAccount;
	}

	/**
	 * Set the value related to the column: BankAccount
	 * @param bankAccount the BankAccount value
	 */
	public void setBankAccount (java.lang.String bankAccount) {
		this.bankAccount = bankAccount;
	}



	/**
	 * Return the value associated with the column: Name
	 */
	public java.lang.String getName () {
		return name;
	}

	/**
	 * Set the value related to the column: Name
	 * @param name the Name value
	 */
	public void setName (java.lang.String name) {
		this.name = name;
	}



	/**
	 * Return the value associated with the column: BankName
	 */
	public java.lang.String getBankName () {
		return bankName;
	}

	/**
	 * Set the value related to the column: BankName
	 * @param bankName the BankName value
	 */
	public void setBankName (java.lang.String bankName) {
		this.bankName = bankName;
	}



	/**
	 * Return the value associated with the column: Province
	 */
	public java.lang.String getProvince () {
		return province;
	}

	/**
	 * Set the value related to the column: Province
	 * @param province the Province value
	 */
	public void setProvince (java.lang.String province) {
		this.province = province;
	}



	/**
	 * Return the value associated with the column: City
	 */
	public java.lang.String getCity () {
		return city;
	}

	/**
	 * Set the value related to the column: City
	 * @param city the City value
	 */
	public void setCity (java.lang.String city) {
		this.city = city;
	}



	/**
	 * Return the value associated with the column: Branch
	 */
	public java.lang.String getBranch () {
		return branch;
	}

	/**
	 * Set the value related to the column: Branch
	 * @param branch the Branch value
	 */
	public void setBranch (java.lang.String branch) {
		this.branch = branch;
	}



	/**
	 * Return the value associated with the column: PayMoney
	 */
	public java.lang.Integer getPayMoney () {
		return payMoney;
	}

	/**
	 * Set the value related to the column: PayMoney
	 * @param payMoney the PayMoney value
	 */
	public void setPayMoney (java.lang.Integer payMoney) {
		this.payMoney = payMoney;
	}



	/**
	 * Return the value associated with the column: PayFee
	 */
	public java.lang.Integer getPayFee () {
		return payFee;
	}

	/**
	 * Set the value related to the column: PayFee
	 * @param payFee the PayFee value
	 */
	public void setPayFee (java.lang.Integer payFee) {
		this.payFee = payFee;
	}



	/**
	 * Return the value associated with the column: Usage
	 */
	public java.lang.String getUsage () {
		return usage;
	}

	/**
	 * Set the value related to the column: Usage
	 * @param usage the Usage value
	 */
	public void setUsage (java.lang.String usage) {
		this.usage = usage;
	}



	/**
	 * Return the value associated with the column: RequestTime
	 */
	public java.util.Date getRequestTime () {
		return requestTime;
	}

	/**
	 * Set the value related to the column: RequestTime
	 * @param requestTime the RequestTime value
	 */
	public void setRequestTime (java.util.Date requestTime) {
		this.requestTime = requestTime;
	}



	/**
	 * Return the value associated with the column: DrawState
	 */
	public java.lang.Integer getDrawState () {
		return drawState;
	}

	/**
	 * Set the value related to the column: DrawState
	 * @param drawState the DrawState value
	 */
	public void setDrawState (java.lang.Integer drawState) {
		this.drawState = drawState;
	}



	/**
	 * Return the value associated with the column: FaildCause
	 */
	public java.lang.String getFaildCause () {
		return faildCause;
	}

	/**
	 * Set the value related to the column: FaildCause
	 * @param faildCause the FaildCause value
	 */
	public void setFaildCause (java.lang.String faildCause) {
		this.faildCause = faildCause;
	}



	/**
	 * Return the value associated with the column: NotifyState
	 */
	public java.lang.Integer getNotifyState () {
		return notifyState;
	}

	/**
	 * Set the value related to the column: NotifyState
	 * @param notifyState the NotifyState value
	 */
	public void setNotifyState (java.lang.Integer notifyState) {
		this.notifyState = notifyState;
	}



	/**
	 * Return the value associated with the column: NotifySum
	 */
	public java.lang.Integer getNotifySum () {
		return notifySum;
	}

	/**
	 * Set the value related to the column: NotifySum
	 * @param notifySum the NotifySum value
	 */
	public void setNotifySum (java.lang.Integer notifySum) {
		this.notifySum = notifySum;
	}



	/**
	 * Return the value associated with the column: NotifyTime
	 */
	public java.util.Date getNotifyTime () {
		return notifyTime;
	}

	/**
	 * Set the value related to the column: NotifyTime
	 * @param notifyTime the NotifyTime value
	 */
	public void setNotifyTime (java.util.Date notifyTime) {
		this.notifyTime = notifyTime;
	}



	/**
	 * Return the value associated with the column: Operator
	 */
	public java.lang.String getOperator () {
		return operator;
	}

	/**
	 * Set the value related to the column: Operator
	 * @param operator the Operator value
	 */
	public void setOperator (java.lang.String operator) {
		this.operator = operator;
	}



	/**
	 * Return the value associated with the column: OperateTime
	 */
	public java.util.Date getOperateTime () {
		return operateTime;
	}

	/**
	 * Set the value related to the column: OperateTime
	 * @param operateTime the OperateTime value
	 */
	public void setOperateTime (java.util.Date operateTime) {
		this.operateTime = operateTime;
	}



	/**
	 * Return the value associated with the column: ProviderId
	 */
	public java.lang.String getProviderId () {
		return providerId;
	}

	/**
	 * Set the value related to the column: ProviderId
	 * @param providerId the ProviderId value
	 */
	public void setProviderId (java.lang.String providerId) {
		this.providerId = providerId;
	}




	public boolean equals (Object obj) {
		if (null == obj) return false;
		if (!(obj instanceof AnteFrontDrawInfo)) return false;
		else {
			AnteFrontDrawInfo anteFrontDrawInfo = (AnteFrontDrawInfo) obj;
			if (null == this.getDrawInfoId() || null == anteFrontDrawInfo.getDrawInfoId()) return false;
			else return (this.getDrawInfoId().equals(anteFrontDrawInfo.getDrawInfoId()));
		}
	}

	public int hashCode () {
		if (Integer.MIN_VALUE == this.hashCode) {
			if (null == this.getDrawInfoId()) return super.hashCode();
			else {
				String hashStr = this.getClass().getName() + ":" + this.getDrawInfoId().hashCode();
				this.hashCode = hashStr.hashCode();
			}
		}
		return this.hashCode;
	}


	public String toString () {
		return super.toString();
	}


}